.\" This man page was written by Markus Koschany in July 2013. It is provided
.\" under the GNU General Public License 2 or (at your option) any later version.
.TH ufo2map "6" "October 2021" "ufoai-2.5" "SlackBuilds.org"
.SH NAME
ufo2map \- UFO: Alien Invasion map compiler
.SH SYNOPSIS
.B ufo2map
\fI<param1 <subparam1> <subparam2> <\fR...\fI>> <param2> <\fR...\fI> \fR[\fImap\fR]
.SH DESCRIPTION
This is the UFO: AI map compiler.
.SH OPTIONS
.SS "General options:"
.TP
\fB\-h\fR \fB\-\-help\fR
: print (this) help and exit
.TP
\fB\-nice\fR <prio>
: priority level [unix nice level from \fB\-20\fR to 19 where 19 is the lowest priority]
.TP
\fB\-nofootstep\fR
: don't generate a footstep file
.TP
\fB\-tracefile\fR
: generate two csv files describing the floors and walls found by the trace functions
.TP
\fB\-debugfile\fR (TODO)
: generate a trace debug file. The client can load the file to highlight map obstructions
.TP
\fB\-stats\fR \fB\-\-statistics\fR
: print statistics and quit. may be used with \fB\-check\fR or \fB\-fix\fR
.TP
\fB\-v\fR \fB\-\-verbosity\fR <int>
: set verbosity. higher <int> gives more output
if it is required, this should be the first option
0 \- no stdout, 1 \- only check/fix messages, 2  \- (compile) only mapname
2 \- (check/fix) mapname if findings, 4 \- normal output,
5 \- extra output, 6 \- dump (a lot extra from BSPing)
.TP
\fB\-V\fR \fB\-\-version\fR
: return Version and Revision level
.TP
\fB\-material\fR
: generate a material (.mat) file, do not proceed to compilation
.SS "Lighting options:"
.TP
\fB\-extra\fR
: extra light samples
.TP
\fB\-nolighting\fR TYPE
: don't perform the lighting calculations, where TYPE is one of day, night, all
default is all
.TP
\fB\-quant\fR
: lightquant \- lightmap resolution downscale (e.g. 4 = 1 << 4) (values between 1 and 6)
.TP
\fB\-scale\fR
: global light scale factor
.TP
\fB\-saturation\fR
: saturation factor (e.g. 1.5 \- default is 1.0)
.TP
\fB\-contrast\fR
: contrast factor (e.g. 1.05, default is 1.0)
.TP
\fB\-t\fR \fB\-\-threads\fR
: thread amount
.SS "Binary space partitioning (BSPing) options:"
.TP
\fB\-block\fR <xl> <yl>
:
.HP
\fB\-blocks\fR <xl> <yl> <xh> <yh>:
.TP
\fB\-subdivide\fR
: subdivide brushes for better light effects (but higher polycount)
.TP
\fB\-surface\fR
: surface light scaling (float value)
.TP
\fB\-entity\fR
: entity light scaling (float value)
.TP
\fB\-fulldetail\fR
: don't treat details (and trans surfaces) as details
.TP
\fB\-info\fR
: print bsp file info
.TP
\fB\-micro\fR <float>
: warn if a brush has a volume lower than the specified float.
brushes are tested after CSG.
.TP
\fB\-nobackclip\fR
: draw downward pointing faces. (so actors cannot see up through floors
in first person view). default is to set SURF_NODRAW to downard faces.
.TP
\fB\-nocsg\fR
:
.TP
\fB\-gamedir\fR
: Add another game dir to the search directories
.TP
\fB\-nodetail\fR
: skip detail brushes
.TP
\fB\-nomerge\fR
: skip node face merging
.TP
\fB\-noprune\fR
: don't prune (or cut) nodes
.TP
\fB\-noshare\fR
:
.TP
\fB\-notjunc\fR
:
.TP
\fB\-nowater\fR
: skip water brushes in compilation
.TP
\fB\-noweld\fR
:
.TP
\fB\-onlyents\fR
: modify existing bsp file with entities from map file
.TP
\fB\-exportlightmaps\fR
: write lightmaps into tga images
.TP
\fB\-verboseentities\fR
: also be verbose about submodels (entities)
.PP
.SS Mapping options:
.IP
These options operate on map file only. No bsp file is created.
Output prefixed by an asterisk (*) indicates operations that would change the map file.
\fB\-check\fR                     : check source map, only print information.
\fB\-fix\fR                       : same subparameters as \fB\-check\fR, changes the source map file.
.IP
subparameters for \fB\-check\fR and \fB\-fix\fR
.TP
all
: performs all checks and fixes. This is the default.
.TP
bru brushes
: includes 'lvl tex mfc mbr'. Performs all checks and fixes associated with brushes.
.TP
ent entities
: performs all checks and fixes associated with entities.
.TP
con contained
: checks for brushes contained entirely within other brushes. includes coincident duplicates.
.TP
isc intersection
: report intersection between optimisable brushes from worldspawn and func_group entities
.IP
this is not included in all or bru as it is not always a bad thing
.TP
mbr microbrush <float>
: test for brushes smaller than <float> unit^3. this is done without the csg
.IP
step, unlike the bsp \fB\-micro\fR option. default 1 unit^3.
.TP
lvl levelflags
: if no levelflags for a brush or entity are set, all of them are set
.TP
flv filllevelflags
: ensure set levelflag bits are uninterrupted
.TP
ndr nodraws
: assigns SURF_NODRAW to hidden faces
.TP
tex textures
: warns when no texture or error texture is assigned.
.IP
ensures special textures and content/surface flags are consistent.
.TP
mfc mixedfacecontents
: ensures the contentflags are the same on each face of each brush.
.TP
zft zfighting
: intersecting brushes with a common face: prevent textures shimmering together
.SH "SEE ALSO"
.PP
\fBufo\fR(6)
\fBufoded\fR(6)
\fBufomodel\fR(6)
\fBufoslicer\fR(6)
